The invention relates to a method and a device for controlling a robot on the basis of sensor data from sensors with their own sensor data structures.
It has only hitherto been possible with considerable effort and expenditure to use different sensors and sensor groups in a robot control. Admittedly, like the robot control, different sensors largely use substantially standardized hardware interfaces, but they have their own and in particular different data structures. Consequently the robot control must be adapted to different data formats and structures, transmission protocol and speeds of the particular sensor. In addition, known robot controls usually only have fixed implemented intervention possibilities for sensor data on the robot program. The adaptation to new sensors and the creation of new action mechanisms can only be carried out by the manufacturer, which generally requires a modification of the system software. As such changes intervene deeply into the system programs, extensive tests are required in order to ensure security. Adaptations on the user plane with the aid of existing communications interfaces usually do not satisfy the speed requirements of the process to be influenced. Thus, in connection with the connecting in of complex sensors, frequently a choice is made of the alternative of additional, external and expensive computer hardware.
For example, fixed implemented software interfaces for visual sensors or path-following sensors are known. However, such implementations are usually tailor-made to specific sensor types and makes and are consequently not flexible with respect to the protocol or with respect to the further processing of the data.
On the basis of this the problem of the invention is to provide a method and a device for controlling a robot in such a way that, without intervention in the actual robot control program, an adaptation is possible to different sensors and consequently in simple manner different sensors can be used.
According to the invention the set problem is solved by a method for controlling a robot of the aforementioned type in which the sensor data are processed to robot control data of a control data structure usable by a control program. A device for solving the set problem is constructed in such a way that a processing means for processing sensor data to robot control with a control data structure usable by a control program is provided.
To obtain the possibility of flexible cooperation of a robot control, equipped with its standard hardware interfaces, with different sensors, which admittedly have standard hardware interfaces, but supply specific data in specific formats, the invention consequently provides that the robot control is put into a position by the introduction of a user-configurable sensor data processing layer, to process, particularly standardize and convert, specific sensor data in such a way that after passing through this layer they can be readily further processed by the control program. Sensor data can in particular be combined in a random manner and then supplied to the system program for initiating actions.
Through the processing layer provided between the sensors and the robot control program according to the invention for the provision of control program-processable control data adapted thereto, it is possible to use the most varied sensors in a robot with the same control or system program, without it having to be modified per se. Thus, when using different sensors no intervention in the control program is necessary. The processing of the sensor data can take place in modular manner, so that easy configuration for adapting to different sensors by the user is possible. In particular, the processing of sensor data by the user can be configured by the declaration, linking and parametrizing of predefined functional blocks. The linking and parametrizing of the functional blocks more particularly takes place in such a way that the resulting structure does not impair the security functions of the system program. In this way it is also possible to modify the structures during the running time of a robot application by event-controlled switching. For this purpose, in preferred manner the invention provides that the sensor data are converted into check data with a uniform data structure, that the check data are processed by processing operations to actuator data and that the actuator data are monitored, optionally limited and transferred as robot control data to the robot control program. Since for the control of a robot not only external sensor data are used, but also internal data of the actual robot control, according to a preferred development of the invention it is proposed that internal data of the robot control are converted into check data with a uniform data structure, the check data structure being identical to the structure of the external sensor data. Thus, the internal data are represented as data of pseudo-sensors.
Thus, in this way different sensors can be easily fixed in the robot control without requiring an intervention in the actual control program, so that security risks are minimized and the test expenditure associated with changes is reduced. The invention makes it possible to use existing interfaces of sensors and program.
Whilst the clock cycle of the processing (reading clock) can fundamentally be determined by external events, one or more internal timers can be provided and in particular in the case of sensor, check, actuator and/or robot control data an averaging and/or filtering can be performed. If there is a subsequent process with a lower clock rate, according to a preferred development when processing sensor, check, actuator and/or robot control data, an averaging and/or filtering is performed. This leads to an effective interference suppression.
According to a further development, it can in particular be provided that sensor data of several sensors are processed in parallel and/or that several processing paths are provided for the parallel processing of sensor data of one sensor by means of different evaluation strategies and in particular the data obtained according to a specific evaluation strategy are transferred to the control program, as a function of specific events, for use by the latter.
The operation of a sensor with several evaluation strategies is particularly appropriate if the evaluation strategies differ to such an extent that it is no longer possible to implement the necessary switching operations in a single signal processing path. In this case two or more independent strategies are programmed in separate signal processing paths. Another important application for planned selectable strategies is error handling, which requires different procedures such as e.g. sensor initiation, program stop, calling new programs or suppressing actions. For the selection of a strategy the in each case associated signal processing path is activated and the unused paths deactivated. For activation purposes it is possible to use the indicated events: program flow, such as start/stop, operating mode change or program instruction, variables such as the value of system variables or user variables, interface data such as the state of binary I/Os, analog I/Os, serial interfaces or parallel interfaces.
Within the scope of the invention, e.g. in the case of a control unit, on the basis of the check data received a control process is carried out as a function of a condition.
As a result of the invention it is possible to use sensors for the most varied problems, e.g. force-moment sensors, which detect contacts of the robot arm at undesired points and/or with inadmissibly high forces, i.e. sensors which as a result of the measurement of the gripper weight establish whether an object gripped by it remains hanging on the gripper following the opening and return of the same. It is also possible to use sensors permitting a sorting of workpieces on the basis of their weight, this taking place through the presetting of thresholds. Other usable sensors establish by a combined path and force measurement, whether a plug and a counterpart have in fact been correctly and completely engaged by the robot. It is possible to use sensors for monitoring load tests, e.g. for checking adhesion or bonding points, which monitor the force and path with respect to exceeding predetermined thresholds. In the same way it is possible to use sensors, which e.g. monitor the tension when drawing in cables, where an exceeding thereof would damage or completely destroy the cable. Whereas in this case a force monitoring in the tension direction is needed, this would be appropriate at right angles to the movement direction in cutting production processes, in order to guarantee constant cutting forces. Further uses for sensors on a robot are the tracking of a predetermined contour, such as a groove.